﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class estudiante : Form
    {
        public estudiante()
        {
            InitializeComponent();
        }
        GestiónAcademia g = new GestiónAcademia();
        GestionFgut ges = new GestionFgut();
        public int Edad()
        {
            //Obtengo la diferencia en años.
            int edad = DateTime.Now.Year - fnacimiento.Value.Year;

            //Obtengo la fecha de cumpleaños de este año.
            DateTime nacimientoAhora = fnacimiento.Value.AddYears(edad);
            //Le resto un año si la fecha actual es anterior
            //al día de nacimiento.
            if (DateTime.Now.CompareTo(nacimientoAhora) < 0)
            {
                edad--;
            }
            return edad;
        }
        private void button5_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(cbconvenio.Text) || string.IsNullOrWhiteSpace(txtnombre.Text) || string.IsNullOrWhiteSpace(fnacimiento.Text) || string.IsNullOrWhiteSpace(txtrut.Text) ||
               string.IsNullOrWhiteSpace(txtdigito.Text) || string.IsNullOrWhiteSpace(txtedad.Text) || string.IsNullOrWhiteSpace(txttelefono.Text) || string.IsNullOrWhiteSpace(txtcelular.Text) || string.IsNullOrWhiteSpace(txtemail.Text) ||
               string.IsNullOrWhiteSpace(txtavisar.Text) || string.IsNullOrWhiteSpace(txtdireccion.Text) || string.IsNullOrWhiteSpace(txttelefonoEmer.Text) || string.IsNullOrWhiteSpace(txtcelularEmer.Text) || string.IsNullOrWhiteSpace(txtemailEmer.Text) ||
                string.IsNullOrWhiteSpace(txtgruposangre.Text) || string.IsNullOrWhiteSpace(txtalergico.Text) || string.IsNullOrWhiteSpace(txtestatura.Text) || string.IsNullOrWhiteSpace(txtpeso.Text) || string.IsNullOrWhiteSpace(txtcalzado.Text) || string.IsNullOrWhiteSpace(txttraje.Text) ||
                string.IsNullOrWhiteSpace(txttallabuzo.Text) || ((radioh.Checked == false) && (radiom.Checked == false)) || ((radioFonasa.Checked == false) && (radioIsapre.Checked == false)) || txtemail.Text == "micorreo@ejemplo.com" || txtemailEmer.Text == "micorreo@ejemplo.com")
            {

                MessageBox.Show("Faltan datos! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                string salud = "", sexo = "";
                if (radioFonasa.Checked == true)
                {
                    salud = "Fonasa";
                }
                else if (radioIsapre.Checked == true)
                {
                    salud = "Isapre";
                }

                if (radioh.Checked == true)
                {
                    sexo = "Masculino";
                }
                else if (radiom.Checked == true)
                {
                    sexo = "Femenino";
                }
                int convenio = 1;
                int edad = Convert.ToInt32(txtedad.Text);
                int peso = Convert.ToInt32(txtpeso.Text);
                int estatura = Convert.ToInt32(txtestatura.Text);
                int calzado = Convert.ToInt32(txtcalzado.Text);
                string rutcompleto = txtrut.Text + txtdigito.Text;
                MessageBox.Show(g.insertarEst(rutcompleto, fnacimiento.Text, txtnombre.Text, sexo, txttelefono.Text, txtcelular.Text, txtemail.Text, txtavisar.Text, txtdireccion.Text, txttelefonoEmer.Text, txtcelularEmer.Text, txtemailEmer.Text, txtgruposangre.Text, txtalergico.Text, salud, peso, estatura, calzado, txttraje.Text, txttallabuzo.Text, convenio),"Información", MessageBoxButtons.OK,MessageBoxIcon.Information);
                ges.Limpiar(datospersonales);
                ges.Limpiar(emergencia);
                ges.Limpiar(medidas);
            }
        }

        private void textBox13_TextChanged(object sender, EventArgs e)
        {

        }

        private void estudiante_Load(object sender, EventArgs e)
        {
            llenarComboConvenio(cbconvenio);
        }
        public void llenarComboConvenio(ComboBox combo)
        {
            DataSet ds = g.buscarCBconvenio();
            if (ds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < ds.Tables["convenios"].Rows.Count; i++)
                {
                    combo.Items.Add(ds.Tables["convenios"].Rows[i][0].ToString());
                }
            }
        }

        private void txtdigito_Validating(object sender, CancelEventArgs e)
        {

        }

        private void txtnombre_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsLetter(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtavisar_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsLetter(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtalergico_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsLetter(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtrut_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtedad_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txttelefono_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }

        }

        private void txtcelular_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txttelefonoEmer_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtcelularEmer_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtestatura_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtpeso_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtcalzado_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtemail_Validating(object sender, CancelEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtemail.Text))
            {
                MessageBox.Show("Debe ingresar un Email", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                txtemail.Focus();
            }
            else
            {
                if (ges.validarEmail(txtemail.Text) == false)
                {
                    MessageBox.Show("El Email Ingresado no se encuentra en el Formato Correcto.\nEjemplo: micorreo@ejemplo.com", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    txtemail.Focus();
                }
            }
        }

        private void txtemailEmer_Validating(object sender, CancelEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtemailEmer.Text))
            {
                MessageBox.Show("Debe ingresar un Email", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                txtemailEmer.Focus();
            }
            else
            {
                if (ges.validarEmail(txtemailEmer.Text) == false)
                {
                    MessageBox.Show("El Email Ingresado no se encuentra en el Formato Correcto.\nEjemplo: micorreo@ejemplo.com", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    txtemailEmer.Focus();
                }
            }
        }

        private void txtemail_MouseHover(object sender, EventArgs e)
        {
            toolTip1.Show("Ejemplo: micorreo@ejemplo.com", txtemail);
        }

        private void txtemailEmer_MouseHover(object sender, EventArgs e)
        {
            toolTip1.Show("Ejemplo: micorreo@ejemplo.com", txtemailEmer);

        }

        private void txtemail_MouseClick(object sender, MouseEventArgs e)
        {
            if (txtemail.Text == "micorreo@ejemplo.com")
                  txtemail.Text = "";
        }

        private void txtemailEmer_MouseClick(object sender, MouseEventArgs e)
        {
            if (txtemailEmer.Text == "micorreo@ejemplo.com")
                txtemailEmer.Text = "";
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Form.ActiveForm.Visible = false;
            modificaralum modificar = new modificaralum();
            modificar.ShowDialog();
        }


        private void cbconvenio_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void btmostrar_Click(object sender, EventArgs e)
        {
            Form.ActiveForm.Visible = false;
            mostraralum ma = new mostraralum();
            ma.ShowDialog();
        }

        private void txtrut_TextChanged(object sender, EventArgs e)
        {            
            if (txtrut.Text == "")
            {
                txtdigito.Text = "";
            }
            if (txtrut.TextLength == 7 || txtrut.TextLength == 8)
            {
                int rut = Convert.ToInt32(txtrut.Text);
                string digito = ges.digitoVerificador(rut);
                txtdigito.Text = digito;
            }
        }

        private void fnacimiento_ValueChanged(object sender, EventArgs e)
        {
            txtedad.Text = Edad().ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form.ActiveForm.Visible = false;
            bloqalum b = new bloqalum();
            b.ShowDialog();

        }

        private void txtemail_TextChanged(object sender, EventArgs e)
        {

        }
    }
}